/*
 * Arm SCP/MCP Software
 * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 *
 * Description:
 *     Morello DDR-PHY register value configuration for 1333MHz speed.
 */

#include <morello_ddr_phy.h>

#include <internal/morello_ddr_phy_reg.h>

#include <mod_dmc_bing.h>

#include <fwk_assert.h>

#include <stddef.h>
#include <stdint.h>

static uint8_t PHY_WRITE_PATH_LAT_ADD_2667[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
static uint16_t PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[9] = {
    0x1A0, 0x120, 0x100, 0, 0, 0, 0x100, 0x100, 0
};
static uint8_t PHY_WRLVL_EARLY_FORCE_ZERO_2667[9] = {
    0, 0, 0, 0, 1, 0, 0, 0, 0
};
static uint32_t PHY_PAD_VREF_CTRL_DQ_2667;
static uint32_t VREF_TRAINING_CTRL_2667 = 0x00042520;
static uint16_t phy_dq_tsel_select_value;
static uint16_t phy_dqs_tsel_select_value;
static uint32_t phy_pad_data_drive_value = 0x2000073F;
static uint32_t phy_pad_clk_drive_value = 0x0006BF99;

void ddr_phy_config_1333(
    struct mod_morello_ddr_phy_reg *ddr_phy,
    struct dimm_info *info,
    int dmc_id)
{
    fwk_assert((ddr_phy != NULL) && (info != NULL));

    if (info->number_of_ranks == 1) {
        PHY_PAD_VREF_CTRL_DQ_2667 = 0x1234;
        phy_dq_tsel_select_value = 0x9990;
        phy_dqs_tsel_select_value = 0x9990;
    } else {
        PHY_PAD_VREF_CTRL_DQ_2667 = 0x1260;
        phy_dq_tsel_select_value = 0x8890;
        phy_dqs_tsel_select_value = 0x8890;
    }

    ddr_phy->DENALI_PHY_00_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_01_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_02_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_03_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_04_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_05_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_06_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_07_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_08_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_09_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_10_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_11_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_12_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_13_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_14_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_15_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_16_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_17_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_18_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_19_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_20_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_21_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_22_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_23_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_24_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_25_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_26_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_27_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_28_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_29_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_30_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_31_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_32_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_33_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_34_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_35_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_36_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_37_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_38_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_39_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_40_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_41_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_42_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_43_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_44_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_45_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_46_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_47_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_48_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_49_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_50_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_50_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_51_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_52_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_53_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_54_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_55_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_56_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_57_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_58_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_59_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_60_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_61_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_62_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_63_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_64_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_65_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_66_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_67_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_68_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_69_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_70_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_71_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_72_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_73_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_74_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_75_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_76_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_77_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_78_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_79_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_80_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_81_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_82_DATA = 0x02400240;
        ddr_phy->DENALI_PHY_83_DATA = 0x02400240;
        ddr_phy->DENALI_PHY_84_DATA = 0x02400240;
        ddr_phy->DENALI_PHY_85_DATA = 0x02400240;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_82_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_83_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_84_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_85_DATA = 0x02500250;
    }
    ddr_phy->DENALI_PHY_86_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_87_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_88_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_89_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_90_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_91_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_92_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_93_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_94_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_95_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_96_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_97_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_98_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_99_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_100_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_101_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_102_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_103_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_104_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_105_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_106_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_107_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_108_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_109_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_110_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_111_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_112_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[0] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_113_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[0] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_114_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[0]);
    ddr_phy->DENALI_PHY_115_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_116_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[0] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_117_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[0] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_118_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[0]);
    ddr_phy->DENALI_PHY_119_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_120_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_121_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_122_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_123_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_124_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_125_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_126_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_127_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_128_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_129_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_130_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_131_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_132_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_133_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_134_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_135_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_136_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_137_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_138_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_139_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_140_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_141_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_142_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_256_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_257_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_258_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_259_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_260_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_261_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_262_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_263_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_264_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_265_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_266_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_267_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_268_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_269_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_270_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_271_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_272_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_273_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_274_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_275_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_276_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_277_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_278_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_279_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_280_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_281_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_282_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_283_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_284_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_285_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_286_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_287_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_288_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_289_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_290_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_291_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_292_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_293_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_294_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_295_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_296_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_297_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_298_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_299_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_300_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_301_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_302_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_303_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_304_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_305_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_306_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_306_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_307_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_308_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_309_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_310_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_311_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_312_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_313_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_314_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_315_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_316_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_317_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_318_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_319_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_320_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_321_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_322_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_323_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_324_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_325_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_326_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_327_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_328_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_329_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_330_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_331_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_332_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_333_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_334_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_335_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_336_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_337_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_338_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_339_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_340_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_341_DATA = 0x02800280;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_338_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_339_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_340_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_341_DATA = 0x02700270;
    }
    ddr_phy->DENALI_PHY_342_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_343_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_344_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_345_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_346_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_347_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_348_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_349_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_350_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_351_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_352_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_353_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_354_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_355_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_356_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_357_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_358_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_359_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_360_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_361_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_362_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_363_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_364_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_365_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_366_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_367_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_368_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[1] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_369_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[1] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_370_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[1]);
    ddr_phy->DENALI_PHY_371_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_372_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[1] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_373_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[1] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_374_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[1]);
    ddr_phy->DENALI_PHY_375_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_376_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_377_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_378_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_379_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_380_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_381_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_382_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_383_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_384_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_385_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_386_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_387_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_388_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_389_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_390_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_391_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_392_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_393_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_394_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_395_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_396_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_397_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_398_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_512_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_513_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_514_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_515_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_516_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_517_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_518_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_519_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_520_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_521_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_522_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_523_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_524_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_525_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_526_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_527_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_528_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_529_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_530_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_531_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_532_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_533_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_534_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_535_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_536_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_537_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_538_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_539_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_540_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_541_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_542_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_543_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_544_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_545_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_546_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_547_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_548_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_549_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_550_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_551_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_552_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_553_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_554_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_555_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_556_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_557_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_558_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_559_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_560_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_561_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_562_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_562_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_563_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_564_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_565_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_566_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_567_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_568_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_569_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_570_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_571_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_572_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_573_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_574_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_575_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_576_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_577_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_578_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_579_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_580_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_581_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_582_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_583_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_584_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_585_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_586_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_587_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_588_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_589_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_590_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_591_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_592_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_593_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_594_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_595_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_596_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_597_DATA = 0x02800280;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_594_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_595_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_596_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_597_DATA = 0x02700270;
    }
    ddr_phy->DENALI_PHY_598_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_599_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_600_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_601_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_602_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_603_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_604_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_605_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_606_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_607_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_608_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_609_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_610_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_611_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_612_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_613_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_614_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_615_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_616_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_617_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_618_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_619_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_620_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_621_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_622_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_623_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_624_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[2] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_625_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[2] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_626_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[2]);
    ddr_phy->DENALI_PHY_627_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_628_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[2] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_629_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[2] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_630_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[2]);
    ddr_phy->DENALI_PHY_631_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_632_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_633_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_634_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_635_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_636_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_637_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_638_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_639_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_640_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_641_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_642_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_643_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_644_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_645_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_646_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_647_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_648_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_649_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_650_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_651_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_652_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_653_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_654_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_768_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_769_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_770_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_771_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_772_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_773_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_774_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_775_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_776_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_777_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_778_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_779_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_780_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_781_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_782_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_783_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_784_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_785_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_786_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_787_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_788_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_789_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_790_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_791_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_792_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_793_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_794_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_795_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_796_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_797_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_798_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_799_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_800_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_801_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_802_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_803_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_804_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_805_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_806_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_807_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_808_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_809_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_810_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_811_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_812_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_813_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_814_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_815_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_816_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_817_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_818_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_818_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_819_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_820_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_821_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_822_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_823_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_824_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_825_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_826_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_827_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_828_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_829_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_830_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_831_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_832_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_833_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_834_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_835_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_836_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_837_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_838_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_839_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_840_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_841_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_842_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_843_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_844_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_845_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_846_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_847_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_848_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_849_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_850_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_851_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_852_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_853_DATA = 0x02700270;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_850_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_851_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_852_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_853_DATA = 0x02700270;
    }
    ddr_phy->DENALI_PHY_854_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_855_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_856_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_857_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_858_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_859_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_860_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_861_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_862_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_863_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_864_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_865_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_866_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_867_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_868_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_869_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_870_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_871_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_872_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_873_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_874_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_875_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_876_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_877_DATA = 0x00800080;
    ddr_phy->DENALI_PHY_878_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_879_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_880_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[3] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_881_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[3] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_882_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[3]);
    ddr_phy->DENALI_PHY_883_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_884_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[3] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_885_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[3] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_886_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[3]);
    ddr_phy->DENALI_PHY_887_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_888_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_889_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_890_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_891_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_892_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_893_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_894_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_895_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_896_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_897_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_898_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_899_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_900_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_901_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_902_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_903_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_904_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_905_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_906_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_907_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_908_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_909_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_910_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1024_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_1025_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_1026_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1027_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_1028_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1029_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1030_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_1031_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_1032_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_1033_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_1034_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_1035_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1036_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1037_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_1038_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1039_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_1040_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_1041_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_1042_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_1043_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_1044_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_1045_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_1046_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_1047_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_1048_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_1049_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_1050_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1051_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_1052_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_1053_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_1054_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_1055_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1056_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_1057_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_1058_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_1059_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_1060_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1061_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1062_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1063_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1064_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1065_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1066_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1067_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1068_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1069_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1070_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1071_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1072_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1073_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_1074_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_1074_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_1075_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1076_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1077_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1078_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1079_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_1080_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1081_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1082_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1083_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1084_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1085_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1086_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1087_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1088_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1089_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1090_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1091_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1092_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1093_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1094_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1095_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1096_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1097_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1098_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1099_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1100_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1101_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1102_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_1103_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1104_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1105_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_1106_DATA = 0x02100210;
        ddr_phy->DENALI_PHY_1107_DATA = 0x02100210;
        ddr_phy->DENALI_PHY_1108_DATA = 0x02100210;
        ddr_phy->DENALI_PHY_1109_DATA = 0x02100210;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_1106_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1107_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1108_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1109_DATA = 0x02500250;
    }
    ddr_phy->DENALI_PHY_1110_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_1111_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1112_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1113_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1114_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1115_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1116_DATA = 0x00C000C0;
    ddr_phy->DENALI_PHY_1117_DATA = 0x00C000C0;
    ddr_phy->DENALI_PHY_1118_DATA = 0x00C000C0;
    ddr_phy->DENALI_PHY_1119_DATA = 0x00C000C0;
    ddr_phy->DENALI_PHY_1120_DATA = 0x00C000C0;
    ddr_phy->DENALI_PHY_1121_DATA = 0x00C000C0;
    ddr_phy->DENALI_PHY_1122_DATA = 0x00C000C0;
    ddr_phy->DENALI_PHY_1123_DATA = 0x00C000C0;
    ddr_phy->DENALI_PHY_1124_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1125_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1126_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1127_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1128_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1129_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1130_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1131_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1132_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1133_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1134_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_1135_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_1136_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[4] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_1137_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[4] << 16) | 0x00000100;
    ddr_phy->DENALI_PHY_1138_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[4]);
    ddr_phy->DENALI_PHY_1139_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1140_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[4] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_1141_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[4] << 16) | 0x00000120;
    ddr_phy->DENALI_PHY_1142_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[4]);
    ddr_phy->DENALI_PHY_1143_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1144_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_1145_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_1146_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_1147_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_1148_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_1149_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_1150_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_1151_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_1152_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_1153_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_1154_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_1155_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_1156_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_1157_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_1158_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_1159_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_1160_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_1161_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_1162_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_1163_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_1164_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_1165_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1166_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1280_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_1281_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_1282_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1283_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_1284_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1285_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1286_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_1287_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_1288_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_1289_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_1290_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_1291_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1292_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1293_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_1294_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1295_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_1296_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_1297_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_1298_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_1299_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_1300_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_1301_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_1302_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_1303_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_1304_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_1305_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_1306_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1307_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_1308_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_1309_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_1310_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_1311_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1312_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_1313_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_1314_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_1315_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_1316_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1317_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1318_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1319_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1320_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1321_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1322_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1323_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1324_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1325_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1326_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1327_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1328_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1329_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_1330_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_1330_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_1331_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1332_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1333_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1334_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1335_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_1336_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1337_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1338_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1339_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1340_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1341_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1342_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1343_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1344_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1345_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1346_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1347_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1348_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1349_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1350_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1351_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1352_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1353_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1354_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1355_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1356_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1357_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1358_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_1359_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1360_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1361_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_1362_DATA = 0x02600260;
        ddr_phy->DENALI_PHY_1363_DATA = 0x02600260;
        ddr_phy->DENALI_PHY_1364_DATA = 0x02600260;
        ddr_phy->DENALI_PHY_1365_DATA = 0x02600260;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_1362_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1363_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1364_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1365_DATA = 0x02500250;
    }
    ddr_phy->DENALI_PHY_1366_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_1367_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1368_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1369_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1370_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1371_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1372_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1373_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1374_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1375_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1376_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1377_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1378_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1379_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1380_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1381_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1382_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1383_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1384_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1385_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1386_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1387_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1388_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1389_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1390_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_1391_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_1392_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[5] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_1393_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[5] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_1394_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[5]);
    ddr_phy->DENALI_PHY_1395_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1396_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[5] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_1397_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[5] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_1398_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[5]);
    ddr_phy->DENALI_PHY_1399_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1400_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_1401_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_1402_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_1403_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_1404_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_1405_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_1406_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_1407_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_1408_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_1409_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_1410_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_1411_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_1412_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_1413_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_1414_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_1415_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_1416_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_1417_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_1418_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_1419_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_1420_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_1421_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1422_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1536_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_1537_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_1538_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1539_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_1540_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1541_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1542_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_1543_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_1544_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_1545_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_1546_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_1547_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1548_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1549_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_1550_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1551_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_1552_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_1553_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_1554_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_1555_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_1556_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_1557_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_1558_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_1559_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_1560_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_1561_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_1562_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1563_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_1564_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_1565_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_1566_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_1567_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1568_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_1569_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_1570_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_1571_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_1572_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1573_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1574_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1575_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1576_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1577_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1578_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1579_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1580_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1581_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1582_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1583_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1584_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1585_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_1586_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_1586_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_1587_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1588_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1589_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1590_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1591_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_1592_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1593_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1594_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1595_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1596_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1597_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1598_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1599_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1600_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1601_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1602_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1603_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1604_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1605_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1606_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1607_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1608_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1609_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1610_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1611_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1612_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1613_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1614_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_1615_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1616_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1617_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_1618_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_1619_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_1620_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_1621_DATA = 0x02700270;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_1618_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_1619_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_1620_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_1621_DATA = 0x02700270;
    }
    ddr_phy->DENALI_PHY_1622_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_1623_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1624_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1625_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1626_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1627_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1628_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1629_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1630_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1631_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1632_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1633_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1634_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1635_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1636_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1637_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1638_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1639_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1640_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1641_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1642_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1643_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1644_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1645_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1646_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_1647_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_1648_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[6] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_1649_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[6] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_1650_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[6]);
    ddr_phy->DENALI_PHY_1651_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1652_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[6] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_1653_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[6] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_1654_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[6]);
    ddr_phy->DENALI_PHY_1655_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1656_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_1657_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_1658_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_1659_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_1660_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_1661_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_1662_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_1663_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_1664_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_1665_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_1666_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_1667_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_1668_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_1669_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_1670_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_1671_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_1672_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_1673_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_1674_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_1675_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_1676_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_1677_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1678_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1792_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_1793_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_1794_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1795_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_1796_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1797_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1798_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_1799_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_1800_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_1801_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_1802_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_1803_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1804_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1805_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_1806_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1807_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_1808_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_1809_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_1810_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_1811_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_1812_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_1813_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_1814_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_1815_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_1816_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_1817_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_1818_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1819_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_1820_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_1821_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_1822_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_1823_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1824_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_1825_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_1826_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_1827_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_1828_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1829_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1830_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1831_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1832_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1833_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1834_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1835_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1836_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1837_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1838_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1839_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1840_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1841_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_1842_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_1842_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_1843_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1844_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1845_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1846_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1847_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_1848_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1849_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1850_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1851_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1852_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1853_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1854_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1855_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1856_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1857_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1858_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1859_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1860_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1861_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1862_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1863_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1864_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1865_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1866_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1867_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1868_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1869_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1870_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_1871_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1872_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1873_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_1874_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_1875_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_1876_DATA = 0x02800280;
        ddr_phy->DENALI_PHY_1877_DATA = 0x02800280;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_1874_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1875_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1876_DATA = 0x02500250;
        ddr_phy->DENALI_PHY_1877_DATA = 0x02500250;
    }
    ddr_phy->DENALI_PHY_1878_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_1879_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1880_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1881_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1882_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1883_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1884_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1885_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1886_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1887_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1888_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1889_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1890_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1891_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1892_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1893_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1894_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1895_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1896_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1897_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1898_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1899_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1900_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1901_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_1902_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_1903_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_1904_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[7] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_1905_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[7] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_1906_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[7]);
    ddr_phy->DENALI_PHY_1907_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1908_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[7] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_1909_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[7] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_1910_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[7]);
    ddr_phy->DENALI_PHY_1911_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1912_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_1913_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_1914_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_1915_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_1916_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_1917_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_1918_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_1919_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_1920_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_1921_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_1922_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_1923_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_1924_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_1925_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_1926_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_1927_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_1928_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_1929_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_1930_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_1931_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_1932_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_1933_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_1934_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2048_DATA = 0x76543210;
    ddr_phy->DENALI_PHY_2049_DATA = 0x0004C008;
    ddr_phy->DENALI_PHY_2050_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2051_DATA = 0x0000003B;
    ddr_phy->DENALI_PHY_2052_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2053_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2054_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_2055_DATA = 0x00010000 | phy_dq_tsel_select_value;
    ddr_phy->DENALI_PHY_2056_DATA = 0x00010000 | phy_dqs_tsel_select_value;
    ddr_phy->DENALI_PHY_2057_DATA = 0x0000010F;
    ddr_phy->DENALI_PHY_2058_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_2059_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2060_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2061_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_2062_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2063_DATA = VREF_TRAINING_CTRL_2667;
    ddr_phy->DENALI_PHY_2064_DATA = 0x00C00000;
    ddr_phy->DENALI_PHY_2065_DATA = 0x00000008;
    ddr_phy->DENALI_PHY_2066_DATA = 0x0000AAAA;
    ddr_phy->DENALI_PHY_2067_DATA = 0x00005555;
    ddr_phy->DENALI_PHY_2068_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_2069_DATA = 0x00004A4A;
    ddr_phy->DENALI_PHY_2070_DATA = 0x00005656;
    ddr_phy->DENALI_PHY_2071_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_2072_DATA = 0x0000A9A9;
    ddr_phy->DENALI_PHY_2073_DATA = 0x0000B5B5;
    ddr_phy->DENALI_PHY_2074_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2075_DATA = 0xBFBF0000;
    ddr_phy->DENALI_PHY_2076_DATA = 0x0000F7F7;
    ddr_phy->DENALI_PHY_2077_DATA = (PHY_PAD_VREF_CTRL_DQ_2667 << 16) | 0x0000;
    ddr_phy->DENALI_PHY_2078_DATA = PHY_PAD_VREF_CTRL_DQ_2667;
    ddr_phy->DENALI_PHY_2079_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2080_DATA = 0x04080000;
    ddr_phy->DENALI_PHY_2081_DATA = 0x08040400;
    ddr_phy->DENALI_PHY_2082_DATA = 0x00000004;
    ddr_phy->DENALI_PHY_2083_DATA = 0x0000E4E4;
    ddr_phy->DENALI_PHY_2084_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2085_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2086_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2087_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2088_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2089_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2090_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2091_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2092_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2093_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2094_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2095_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2096_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2097_DATA = 0x00000000;
    if (info->dimm_mem_width == 4) {
        ddr_phy->DENALI_PHY_2098_DATA = 0x00000000;
    } else {
        ddr_phy->DENALI_PHY_2098_DATA = 0x00010000;
    }
    ddr_phy->DENALI_PHY_2099_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2100_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2101_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2102_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2103_DATA = 0x20000010;
    ddr_phy->DENALI_PHY_2104_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2105_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2106_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2107_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2108_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2109_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2110_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2111_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2112_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2113_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2114_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2115_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2116_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2117_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2118_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2119_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2120_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2121_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2122_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2123_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2124_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2125_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2126_DATA = 0x000FFF00;
    ddr_phy->DENALI_PHY_2127_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2128_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2129_DATA = 0x04000000;
    if (dmc_id == 0) {
        ddr_phy->DENALI_PHY_2130_DATA = 0x02600260;
        ddr_phy->DENALI_PHY_2131_DATA = 0x02600260;
        ddr_phy->DENALI_PHY_2132_DATA = 0x02600260;
        ddr_phy->DENALI_PHY_2133_DATA = 0x02600260;
    } else if (dmc_id == 1) {
        ddr_phy->DENALI_PHY_2130_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_2131_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_2132_DATA = 0x02700270;
        ddr_phy->DENALI_PHY_2133_DATA = 0x02700270;
    }
    ddr_phy->DENALI_PHY_2134_DATA = 0x00000280;
    ddr_phy->DENALI_PHY_2135_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2136_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2137_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2138_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2139_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2140_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2141_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2142_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2143_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2144_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2145_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2146_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2147_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2148_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2149_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2150_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2151_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2152_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2153_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2154_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2155_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2156_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2157_DATA = 0x00960096;
    ddr_phy->DENALI_PHY_2158_DATA = 0x10040001;
    ddr_phy->DENALI_PHY_2159_DATA = 0x000F1003;
    ddr_phy->DENALI_PHY_2160_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[8] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_2161_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[8] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_2162_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[8]);
    ddr_phy->DENALI_PHY_2163_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2164_DATA =
        (PHY_WRITE_PATH_LAT_ADD_2667[8] << 24) | 0x00010166;
    ddr_phy->DENALI_PHY_2165_DATA =
        (PHY_WRLVL_DELAY_PERIOD_THRESHOLD_2667[8] << 16) | 0x00000200;
    ddr_phy->DENALI_PHY_2166_DATA =
        (0x01000000 | PHY_WRLVL_EARLY_FORCE_ZERO_2667[8]);
    ddr_phy->DENALI_PHY_2167_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2168_DATA = 0x00800802;
    ddr_phy->DENALI_PHY_2169_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_2170_DATA = 0x04010000;
    ddr_phy->DENALI_PHY_2171_DATA = 0x61314042;
    ddr_phy->DENALI_PHY_2172_DATA = 0x00314000;
    ddr_phy->DENALI_PHY_2173_DATA = 0x800100F1;
    ddr_phy->DENALI_PHY_2174_DATA = 0x05010080;
    ddr_phy->DENALI_PHY_2175_DATA = 0x00000400;
    ddr_phy->DENALI_PHY_2176_DATA = 0x42100010;
    ddr_phy->DENALI_PHY_2177_DATA = 0x120C053E;
    ddr_phy->DENALI_PHY_2178_DATA = 0x01400F0C;
    ddr_phy->DENALI_PHY_2179_DATA = 0x40420100;
    ddr_phy->DENALI_PHY_2180_DATA = 0x40518031;
    ddr_phy->DENALI_PHY_2181_DATA = 0x0C058031;
    ddr_phy->DENALI_PHY_2182_DATA = 0x00000233;
    ddr_phy->DENALI_PHY_2183_DATA = 0x00000203;
    ddr_phy->DENALI_PHY_2184_DATA = 0x03000100;
    ddr_phy->DENALI_PHY_2185_DATA = 0x20202000;
    ddr_phy->DENALI_PHY_2186_DATA = 0x20202020;
    ddr_phy->DENALI_PHY_2187_DATA = 0x80202020;
    ddr_phy->DENALI_PHY_2188_DATA = 0x3f000080;
    ddr_phy->DENALI_PHY_2189_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2190_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2304_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2305_DATA = 0x00000100;
    ddr_phy->DENALI_PHY_2306_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2307_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2308_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2309_DATA = 0x00050000;
    ddr_phy->DENALI_PHY_2310_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2311_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2312_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2313_DATA = 0x02010000;
    ddr_phy->DENALI_PHY_2314_DATA = 0x00008008;
    ddr_phy->DENALI_PHY_2315_DATA = 0x00081020;
    ddr_phy->DENALI_PHY_2316_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2317_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2318_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2319_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2320_DATA = 0x00010100;
    ddr_phy->DENALI_PHY_2321_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2322_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2323_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2324_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2325_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2326_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2327_DATA = 0x64000000;
    ddr_phy->DENALI_PHY_2328_DATA = 0x00000050;
    ddr_phy->DENALI_PHY_2329_DATA = 0x014A114A;
    ddr_phy->DENALI_PHY_2330_DATA = 0x0000014A;
    ddr_phy->DENALI_PHY_2331_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2332_DATA = 0x00163F00;
    ddr_phy->DENALI_PHY_2333_DATA = 0x42080010;
    ddr_phy->DENALI_PHY_2334_DATA = 0x0100003E;
    ddr_phy->DENALI_PHY_2335_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_2336_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_2337_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_2338_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_2339_DATA = 0x01000100;
    ddr_phy->DENALI_PHY_2340_DATA = 0x00000100;
    ddr_phy->DENALI_PHY_2341_DATA = 0x80002020;
    ddr_phy->DENALI_PHY_2342_DATA = 0x00124924;
    ddr_phy->DENALI_PHY_2343_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2344_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2345_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2346_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2347_DATA = 0x070A0707;
    ddr_phy->DENALI_PHY_2348_DATA = 0x00005400;
    ddr_phy->DENALI_PHY_2349_DATA = 0x07C13F99;
    ddr_phy->DENALI_PHY_2350_DATA = 0x00000099;
    ddr_phy->DENALI_PHY_2351_DATA = 0x07C13F99;
    ddr_phy->DENALI_PHY_2352_DATA = 0x00000099;
    ddr_phy->DENALI_PHY_2353_DATA = phy_pad_data_drive_value;
    ddr_phy->DENALI_PHY_2354_DATA = 0x0000073F;
    ddr_phy->DENALI_PHY_2355_DATA = 0x0006BF00;
    ddr_phy->DENALI_PHY_2356_DATA = 0x013200E0;
    ddr_phy->DENALI_PHY_2357_DATA = phy_pad_clk_drive_value;
    ddr_phy->DENALI_PHY_2358_DATA = 0x00007000;
    ddr_phy->DENALI_PHY_2359_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2360_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2361_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2362_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2363_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2364_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2365_DATA = 0x00073F10;
    ddr_phy->DENALI_PHY_2366_DATA = 0x00700000;
    ddr_phy->DENALI_PHY_2367_DATA = 0x00024410;
    ddr_phy->DENALI_PHY_2368_DATA = 0x0006BF99;
    ddr_phy->DENALI_PHY_2369_DATA = 0x00700000;
    ddr_phy->DENALI_PHY_2370_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2371_DATA = 0x0006BF99;
    ddr_phy->DENALI_PHY_2372_DATA = 0x00700000;
    ddr_phy->DENALI_PHY_2373_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2374_DATA = 0x0006BF99;
    ddr_phy->DENALI_PHY_2375_DATA = 0x00700000;
    ddr_phy->DENALI_PHY_2376_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2377_DATA = 0x0006BF99;
    ddr_phy->DENALI_PHY_2378_DATA = 0x00700000;
    ddr_phy->DENALI_PHY_2379_DATA = 0x00004410;
    ddr_phy->DENALI_PHY_2380_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2381_DATA = 0x04102089;
    ddr_phy->DENALI_PHY_2382_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2383_DATA = 0x00020011;
    ddr_phy->DENALI_PHY_2384_DATA = 0x00021000;
    ddr_phy->DENALI_PHY_2385_DATA = 0x00000448;
    ddr_phy->DENALI_PHY_2386_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2387_DATA = 0x04000408;
    ddr_phy->DENALI_PHY_2388_DATA = 0x00000020;
    ddr_phy->DENALI_PHY_2389_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2390_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2391_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2392_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2393_DATA = 0x03000000;
    ddr_phy->DENALI_PHY_2394_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2395_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2396_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2397_DATA = 0x04102035;
    ddr_phy->DENALI_PHY_2398_DATA = 0x00041020;
    ddr_phy->DENALI_PHY_2399_DATA = 0x01C98C98;
    ddr_phy->DENALI_PHY_2400_DATA = 0x3F400000;
    ddr_phy->DENALI_PHY_2401_DATA = 0x3F3F1F3F;
    ddr_phy->DENALI_PHY_2402_DATA = 0x1F3F3F1F;
    ddr_phy->DENALI_PHY_2403_DATA = 0x001F3F3F;
    ddr_phy->DENALI_PHY_2404_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2405_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2406_DATA = 0x00010000;
    ddr_phy->DENALI_PHY_2407_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2408_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2409_DATA = 0x01000000;
    ddr_phy->DENALI_PHY_2410_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2411_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2412_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2413_DATA = 0x00100700;
    ddr_phy->DENALI_PHY_2414_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2415_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2416_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2417_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2418_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2419_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2420_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2421_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2422_DATA = 0x00000000;
    ddr_phy->DENALI_PHY_2423_DATA = 0x00000002;
    ddr_phy->DENALI_PHY_2424_DATA = 0x01000000;
    ddr_phy->DENALI_PHY_2425_DATA = 0x0000000F;
}
